#ifndef STUDENT_PUB_H
#define STUDENT_PUB_H

#define MAX_STUDENT 100
#define MAX_COURSES_PER_STUDENT 10
#define MAX_NAME_LEN 50
#define MAX_ID_LEN 20

//学生数据结构
typedef struct{
	char id[MAX_ID_LEN];        //学号
	char name[MAX_NAME_LEN];    //姓名
	char selected_courses[MAX_COURSES_PER_STUDENT][MAX_ID_LEN];  //已选课程列表
	int course_count;           //已选课程数量
	int total_credits;          //总学分
} Student;

//学生管理接口
void init_student_system();                               //初始化学生系统
int add_student(const char* id, const char* name);        //添加学生
int delete_student(const char* id);                       //删除学生
int modify_student(const char* id, const char* new_name); //修改学生
Student* find_student_by_id(const char* id);              //按学号查找
Student* find_student_by_name(const char* name);          //按姓名查找
void list_all_students();      //列出所有学生
int get_student_count();       //获取学生数量
int add_course_to_student(const char* student_id, const char* course_id, int credits);  //学生选课
int remove_course_from_student(const char* student_id, const char* course_id);          //学生退课

#endif
